iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
佛心分享-IT 人自學之術

成為資料記者: 一些嘗試系列 第 21

Day 21: 以seabon來繪製小籠包物價指數-以中央社新聞為例

  • 分享至 

  • xImage
  •  

       最近大家應該會發生有一則新聞很紅,是關於全球的「小籠包物價指數」比較。這則新聞是從世界各地的鼎泰豐分店來看,若身上擁有10美元、則可以買多少小籠包?中央社還特別用小籠包來當作物價指數的數值展現方式,整個構圖非常可愛。

https://ithelp.ithome.com.tw/upload/images/20240930/20151873o6HActNR2y.png
圖1: 中央社製圖的小籠包物價指數新聞。截圖自: https://www.cna.com.tw/news/afe/202408260347.aspx

結果發現,將總店設在台北的鼎泰豐,並不是最便宜的! 我們的小籠包物價竟比吉隆坡高。這讓我感到非常驚訝,因通常產品發跡地或總店所在地的價格會比其他地方便宜。
中央社編譯了Axios的新聞,在〈美網站從「小籠包指數」看物價 台北比紐約划算3倍〉這篇新聞中指出,「Axios發現,要在紐約、拉斯維加斯或倫敦吃鼎泰豐小籠包成本最高,而在台北或吉隆坡則最划算。若以同樣10美元來看,在倫敦只能買到4.3顆小籠包,拉斯維加斯4.4顆,紐約5.4顆,洛杉磯5.7顆,東京6.6顆,雪梨7.5顆,北京12.1顆,台北則達15.7顆,吉隆坡更有16.6顆。」【註1】

我也想應用上述的數值試著做圖表看看,因此我選用了seabon,並先捨棄之前喜歡用的柱狀圖,改採用氣泡圖。我打算根據城市和每 10 美元能買到的小籠包數量來決定每個圓圈的大小。這種圖表能夠直觀地展示各城市的價值差異。

我一樣昨日的寫法來建立數據,將各個城市與能購買到的小籠包數都放入資料集中,並建立data Frame。

接著我使用 sns.scatterplot() 來繪製氣泡圖。在seabon官網介紹中,此可以用來調整顏色、大小、圓圈、表現x軸與y軸的關係。【註2】因此我在size 參數根據每個城市的小籠包數量來調整氣泡的大小,並設定氣泡顏色為橘色(orange),而在 sizes 參數中,我也指定氣泡的最小和最大尺寸,分別為數值100和2000。程式碼如下:
https://ithelp.ithome.com.tw/upload/images/20240930/20151873sXYPyfyDBI.png
圖2: 撰寫的程式碼。

跑跑看:
https://ithelp.ithome.com.tw/upload/images/20240930/20151873dKGFjXmUig.png
圖3: 以seabon繪製的氣泡圖結果。

看起來還不錯! 但吉隆坡的氣泡顯示位置有點快超過框線,因此我重新調整程式碼中的sizes數值,將sizes的參數改成sizes=(100, 1000)
https://ithelp.ithome.com.tw/upload/images/20240930/20151873sOtpdrCKrt.png
圖4:調整過氣泡圓圈大小後的圖表。

調整後好像有比較好了。但我還是沒有想到如何將16.6此數值往下調的方式。
可能之後會有答案吧!

如果有相關修正方法,請不吝推薦給我!

【註1】有關此段中央社編譯新聞引文,請參閱: https://www.cna.com.tw/news/afe/202408260347.aspx
【註2】有關seabon官網中對於scatterplot的介紹,可參考以下網站內容: https://seaborn.pydata.org/generated/seaborn.scatterplot.html


上一篇
Day 20: 以seabon來繪製資訊圖表:從試做關鍵評論網新聞內容為例
下一篇
Day 22: 外媒認定的資料記者所需之必備工具(上)
系列文
成為資料記者: 一些嘗試30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言